home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / e / Text_Plug2.lha / fonts.e next >
Encoding:
Text File  |  1996-02-28  |  938 b   |  43 lines

  1. OPT OSVERSION=37, MODULE
  2.  
  3. MODULE 'exec/nodes',
  4.        'exec/ports',
  5.        'graphics/gfxbase',
  6.        'graphics/rastport',
  7.        'graphics/text',
  8.        'intuition/screens'
  9.  
  10. RAISE "FONT" IF OpenFont()=NIL,
  11.       "PUBS" IF LockPubScreen()=NIL
  12.  
  13. EXPORT DEF deffixedfont:PTR TO textfont, deffont:PTR TO textfont
  14.  
  15. EXPORT PROC getdeffonts() HANDLE
  16.   DEF scr=NIL:PTR TO screen, gfx:PTR TO gfxbase
  17.   IF deffixedfont=NIL
  18.     gfx:=gfxbase
  19.     deffixedfont:=OpenFont([gfx.defaultfont.mn.ln.name, gfx.defaultfont.ysize,
  20.                             0, 0]:textattr)
  21.   ENDIF
  22.   IF deffont=NIL
  23.     scr:=LockPubScreen('Workbench')
  24.     deffont:=OpenFont(scr.font)
  25.   ENDIF
  26. EXCEPT DO
  27.   IF scr THEN UnlockPubScreen(NIL, scr)
  28.   IF exception
  29.     freedeffonts()
  30.   ENDIF
  31.   ReThrow()
  32. ENDPROC
  33.  
  34. EXPORT PROC freedeffonts()
  35.   IF deffixedfont
  36.     CloseFont(deffixedfont)
  37.     deffixedfont:=NIL
  38.   ENDIF
  39.   IF deffont
  40.     CloseFont(deffont)
  41.     deffont:=NIL
  42.   ENDIF
  43. ENDPROC